package cn.oms.outpatient.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("order_record")
@ApiModel(value="OrderRecord对象", description="")
public class OrderRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID（新增生成）（UUID）")
    @TableField("ID")
    private String id;

    @ApiModelProperty(value = "医嘱CODE（新增生成）（用于其他表关联）")
    @TableField("ORDER_CODE")
    private String orderCode;

    @ApiModelProperty(value = "医嘱类型CODE（对应医嘱类型字典表）")
    @TableField("ORDER_TYPE_CODE")
    private String orderTypeCode;

    @ApiModelProperty(value = "医嘱类型名称")
    @TableField("ORDER_TYPE_NAME")
    private String orderTypeName;

    @ApiModelProperty(value = "医嘱备注（文本医嘱填写这里）")
    @TableField("ORDER_REMARK")
    private String orderRemark;

    @ApiModelProperty(value = "患者信息ID（对应基本信息表）（ALL4452）")
    @TableField("PATIENT_ID")
    private String patientId;

    @ApiModelProperty(value = "患者名称(中文)")
    @TableField("PATIENT_NAME")
    private String patientName;

    @ApiModelProperty(value = "入院号（对应入院登记表）（OP-22-000131-0）")
    @TableField("ADMISSION_NO")
    private String admissionNo;

    @ApiModelProperty(value = "病例号CODE（新增生成）（病案号）（用于其他病例信息使用）（EMR）")
    @TableField("EMR_CODE")
    private String emrCode;

    @ApiModelProperty(value = "产品CODE（对应药品知识库产品表）")
    @TableField("ITEM_CODE")
    private String itemCode;

    @ApiModelProperty(value = "产品名称（英文）")
    @TableField("ITEM_NAME_EN")
    private String itemNameEn;

    @ApiModelProperty(value = "产品名称（中文）")
    @TableField("ITEM_NAME_CN")
    private String itemNameCn;

    @ApiModelProperty(value = "产品名称（拼音）")
    @TableField("ITEM_NAME_PY")
    private String itemNamePy;

    @ApiModelProperty(value = "产品规格CODE(对应数量单位表)")
    @TableField("ITEM_SPECIFICATION_CODE")
    private String itemSpecificationCode;

    @ApiModelProperty(value = "产品包装规格详情（10mg,20mg）")
    @TableField("ITEM_SPECIFICATION_DETAIL")
    private String itemSpecificationDetail;

    @ApiModelProperty(value = "产品类型（0西药 1中成药 2其他）")
    @TableField("ITEM_TYPE")
    private Integer itemType;

    @ApiModelProperty(value = "剂型CODE（新增生成）（对应剂型表）（片、丸）")
    @TableField("DOSAGE_CODE")
    private String dosageCode;

    @ApiModelProperty(value = "剂型名称（中文）")
    @TableField("DOSAGE_NAME_CN")
    private String dosageNameCn;

    @ApiModelProperty(value = "剂型名称（英文）")
    @TableField("DOSAGE_NAME_EN")
    private String dosageNameEn;

    @ApiModelProperty(value = "厂家CODE")
    @TableField("MANUFACTURER_CODE")
    private String manufacturerCode;

    @ApiModelProperty(value = "厂家名称")
    @TableField("MANUFACTURER_NAME")
    private String manufacturerName;

    @ApiModelProperty(value = "发药量")
    @TableField("SEND_DOSE")
    private BigDecimal sendDose;

    @ApiModelProperty(value = "发药量的单位CODE")
    @TableField("SEND_DOSE_UNIT_CODE")
    private String sendDoseUnitCode;

    @ApiModelProperty(value = "发药量的单位名称(简称)（中文）")
    @TableField("SEND_DOSE_UNIT_NAME_CN")
    private String sendDoseUnitNameCn;

    @ApiModelProperty(value = "发药量的单位名称(简称)（英文）")
    @TableField("SEND_DOSE_UNIT_NAME_EN")
    private String sendDoseUnitNameEn;

    @ApiModelProperty(value = "剂量动词CODE（对应剂量动词字典表）（静脉注射或滴注等等）")
    @TableField("DOSE_VERB_CODE")
    private String doseVerbCode;

    @ApiModelProperty(value = "剂量动词名称（英文）")
    @TableField("DOSE_VERB_NAME_EN")
    private String doseVerbNameEn;

    @ApiModelProperty(value = "剂量动词名称（中文）")
    @TableField("DOSE_VERB_NAME_CN")
    private String doseVerbNameCn;

    @ApiModelProperty(value = "需要溶剂标志(0不需要 1需要)")
    @TableField("NEED_SOLVENT_FLAG")
    private Integer needSolventFlag;

    @ApiModelProperty(value = "溶剂CODE(对应溶剂表)(药品表中的溶媒)")
    @TableField("SOLVENT_CODE")
    private String solventCode;

    @ApiModelProperty(value = "溶剂名称（英文）")
    @TableField("SOLVENT_NAME_EN")
    private String solventNameEn;

    @ApiModelProperty(value = "溶剂名称（中文）")
    @TableField("SOLVENT_NAME_CN")
    private String solventNameCn;

    @ApiModelProperty(value = "溶剂量（0.5、0.167）")
    @TableField("SOLVENT_NUM")
    private BigDecimal solventNum;

    @ApiModelProperty(value = "溶剂单位CODE（对应单位表）")
    @TableField("SOLVENT_UNIT_CODE")
    private String solventUnitCode;

    @ApiModelProperty(value = "溶剂单位名称（%、mol/L）")
    @TableField("SOLVENT_UNIT_NAME")
    private String solventUnitName;

    @ApiModelProperty(value = "频次CODE（对应频次表）")
    @TableField("FREQUENCY_CODE")
    private String frequencyCode;

    @ApiModelProperty(value = "频次详情")
    @TableField("FREQUENCY_DETAIL")
    private String frequencyDetail;

    @ApiModelProperty(value = "补充频次CODE（对应补充频次表）")
    @TableField("SUPPLEMENTARY_FREQUENCY_CODE")
    private String supplementaryFrequencyCode;

    @ApiModelProperty(value = "补充频次详情")
    @TableField("SUPPLEMENTARY_FREQUENCY_DETAIL")
    private String supplementaryFrequencyDetail;

    @ApiModelProperty(value = "用餐时间CODE（对应药品用餐时间表）")
    @TableField("MEAL_TIME_CODE")
    private String mealTimeCode;

    @ApiModelProperty(value = "用餐时间详情")
    @TableField("MEAL_TIME_DETAIL")
    private String mealTimeDetail;

    @ApiModelProperty(value = "其他备注（用于填写其他备注信息）")
    @TableField("OTHER_REMARK")
    private String otherRemark;

    @ApiModelProperty(value = "开立医嘱医生ID")
    @TableField("CREATE_MAN_ID")
    private String createManId;

    @ApiModelProperty(value = "开立医嘱角色")
    @TableField("CREATE_MAN_ROLE")
    private String createManRole;

    @ApiModelProperty(value = "开立医嘱医生名称（中文）")
    @TableField("CREATE_MAN_NAME_CN")
    private String createManNameCn;

    @ApiModelProperty(value = "开立医嘱医生名称（英文）")
    @TableField("CREATE_MAN_NAME_EN")
    private String createManNameEn;

    @ApiModelProperty(value = "开立医生所在科室CODE")
    @TableField("CREATE_MAN_DEPARTMENT_CODE")
    private String createManDepartmentCode;

    @ApiModelProperty(value = "医生签名标记（0未签名 1签名）")
    @TableField("DOCTOR_SIGNATURE_FLAG")
    private Integer doctorSignatureFlag;

    @ApiModelProperty(value = "医生签名地址")
    @TableField("DOCTOR_SIGNATURE_ADDRESS")
    private String doctorSignatureAddress;

    @ApiModelProperty(value = "是否需要遮光（0非 1是）")
    @TableField("NEED_SHADING")
    private Integer needShading;

    @ApiModelProperty(value = "是否需要密封（0非 1是）")
    @TableField("NEED_SEAL")
    private Integer needSeal;

    @ApiModelProperty(value = "细胞毒性（0非  1是）")
    @TableField("CYTOTOXICITY_FLAG")
    private Integer cytotoxicityFlag;

    @ApiModelProperty(value = "危险药品标识（0非 1危险药品）")
    @TableField("DANGEROUS_DRUG_FLAG")
    private Integer dangerousDrugFlag;

    @ApiModelProperty(value = "药品是否冷藏（0非 1是）")
    @TableField("NEED_REFRIGERATION")
    private Integer needRefrigeration;

    @ApiModelProperty(value = "是否为疫苗(0或null 为不是疫苗 1为是疫苗)")
    @TableField("VACCINE_FLAG")
    private Integer vaccineFlag;

    @ApiModelProperty(value = "麻醉药品标识（0非 1是）")
    @TableField("ANESTHESIA_FLAG")
    private Integer anesthesiaFlag;

    @ApiModelProperty(value = "抗生素标识（0非 1是）")
    @TableField("ANTIBIOTIC_AUTHORITY_FLAG")
    private Integer antibioticAuthorityFlag;

    @ApiModelProperty(value = "抗抗生素级别")
    @TableField("ANTIBIOTIC_AUTHORITY_LEVEL")
    private Integer antibioticAuthorityLevel;

    @ApiModelProperty(value = "小心处理（0非 1是）")
    @TableField("HANDLED_WITH_CARE_FLAG")
    private Integer handledWithCareFlag;

    @ApiModelProperty(value = "医嘱是否长期（0临时医嘱 1长期医嘱）")
    @TableField("LONG_TIME_ORDER_FLAG")
    private Integer longTimeOrderFlag;

    @ApiModelProperty(value = "是否为紧急医嘱（0非 1是）")
    @TableField("EMERGENCY_ORDER_FLAG")
    private Integer emergencyOrderFlag;

    @ApiModelProperty(value = "是否为夜诊（0非 1是）")
    @TableField("NIGHT_DIAGNOSIS_FLAG")
    private Integer nightDiagnosisFlag;

    @ApiModelProperty(value = "是否为眼科（0非 1是）")
    @TableField("EYE_FLAG")
    private Integer eyeFlag;

    @ApiModelProperty(value = "医嘱状态（0未停用 1停用）")
    @TableField("ORDER_TYPE_FLAG")
    private Integer orderTypeFlag;

    @ApiModelProperty(value = "停用原因备注（开立错误  等等）")
    @TableField("STOP_REASON")
    private String stopReason;

    @ApiModelProperty(value = "停用时间")
    @TableField("STOP_TIME")
    private LocalDate stopTime;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
